home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ham Radio 2000
/
Ham Radio 2000.iso
/
ham2000
/
packet
/
tfkiss30
/
tfkiss.doc
< prev
Wrap
Text File
|
1995-10-22
|
45KB
|
1,188 lines
╔══════════════════════════════════╗
║ TFKISS (DOS) Version 3.00 ║
╟──────────────────────────────────╢
║ (c) 1993-1995 OE1HHC & OE3GMW ║
╚══════════════════════════════════╝
Allgemeines, Bemerkungen
========================
TFKISS ist ein entladbares speicherresidentes Programm (TSR), welches
die Funktionen eines TNC im Rechner emuliert. Auf der RS-232 Seite wird
das KISS- (bzw. SMACK- oder RMNC-) Protokoll abwickelt und mit Hostmode
Terminalprogrammen über eine geeignete Software-Schnittstelle kommuniziert.
Das Programm basiert auf TFKISS 2.00 und The Firmware 2.7b von NORD><LINK.
Die Beschreibung der Firmware-Kommandos von TFKISS ist weiter unten in
dieser Dokumentation zu finden.
Eigenschaften der vorliegenden Version:
---------------------------------------
- verfügt über praktisch alle Eigenschaften der aktuellen TF-Version.
- integrierte Entladeroutine (-u).
- Unterstützung des 16550 UART-Bausteins (FIFO-Mode) und der hohen IRQs
für die serielle Schnittstelle (9, 10, 11, 12 und 15).
- COM-Port Baudrate jetzt bis 115200.
- Codeoptimierungen (es können nun über 1200 Framebuffer zur Verfügung
gestellt werden).
- einstellbarer Speicherverbrauch (32 - 64 kB zur optimalen Ausnutzung
des Hauptspeichers).
- integrierter "KISS-off" Befehl.
- wahlweise Fehlererkennung nach SMACK- oder RMNC-CRC-KISS Protokoll.
- einstellbare Zahl der verfügbaren Kanäle (1-40).
- Framesammler für besseren Datendurchsatz und effizientere Kanalausnützung.
TFKISS sollte auf Rechnern mit dem Betriebssystemen MS-DOS (ab Version
3.30), PTS-DOS und in den "DOS-Boxen" von OS/2-WARP und Windows 95 laufen.
Im Archiv sind zwei Kompilate des Programms enthalten:
TFKISS.COM: für PCs ab 80286 CPU und
TFK086.COM: für PCs ab 8086 CPU (um auch "alte" XTs verwenden zu können).
Die Kommandozeile
=================
Alle Parameter müssen mit einem Bindestrich "-" oder einem Schrägstrich
"/" eingeleitet werden. Zwischen Groß- und Kleinschreibung wird nicht
unterschieden. Numerische Werte sind mit einem Doppelpunkt ":" von den
Kommandos zu trennen. Mit Ausnahme des -i Parameters sind Dezimalzahlen
einzugeben.
TFKISS -? zeigt folgenden kleinen Hilfetext:
Usage:
TFKISS [[-?][-b:nnnn][-c:n][-i:xx][-l:nn][-m:nn][-p:n][-r:n][-u]]
? help text
b COM Baud (9600..115200)
c COM Port (1..4)
i TFKISS int vect (30..FF)
l max channel number (1..40)
m memory usage in kB (32..64)
p CRC-Protocol (1=SMACK 2=RMNC)
r COM IRQ (3..5, 7, 9..12, 15)
u unload TFKISS
Der B-Parameter
---------------
bestimmt die Baudrate zum Kiss-TNC. Zulässige Werte sind:
2400, 4800, 9600, 19200, 38400, 57600 und 115200.
Standardwert ist 9600.
Der C-Parameter
---------------
bestimmt den COM-Port für die Verbindung zum Kiss-TNC.
Die erforderliche I/O-Basisadresse sowie der zugehörige IRQ-Level werden
von TFKISS automatisch gesetzt. (siehe auch R-Parameter)
Zulässige Werte für COM-Port sind 1 bis 4.
Standardwert ist COM1.
Der I-Parameter
---------------
bestimmt den Software Interrupt für die Kommunikation mit dem Hostmode
Terminalprogramm. Er sollte nur in Ausnahmefällen verändert werden und muß
als Hexzahl angegeben werden.
Standardwert ist 0FEh.
Der L-Parameter
---------------
bestimmt die maximale Anzahl verfügbarer Kanäle.
Der Speicherbedarf von TFKISS ändert sich dementsprechend.
Zulässige Werte sind 1 bis 40.
Standardwert ist 10.
Um Verwechslungen vorzubeugen, soll hier der Unterschied zum Firmware-
Befehl Y erläutert werden:
Das Y-Kommando setzt dynamisch, also zur Laufzeit des Programms, die
höchste Anzahl gleichzeitig connectbarer Kanäle.
Der Kommandozeilen Parameter L ermöglicht es hingegen, den Maximalwert von
Y zu verändern. Hier sind Werte zwischen 1 und 40 zulässig. Entsprechend
variiert auch der Speicherbedarf: etwa je 1 kB mehr Speicherverbrauch pro
9 zusätzlicher Kanäle.
Wählen Sie Werte größer 10 nur wenn es wirklich notwendig ist, denn die
erforderliche Rechenzeit des Programms steigt linear mit der Anzahl der zu
verwaltenden Kanäle!
Der M-Parameter
---------------
begrenzt den Speicherverbrauch (in Kilobyte) und ermöglicht somit eine
gezielte Beeinflussung der Speicherverwaltung.
TFKISS arbeitet intern mit sogenannten Framebuffern. Sie dienen dazu,
empfangene Pakete zwischenzuspeichern und noch auszusendende Frames
aufzubauen (siehe auch @B Befehl).
Wird -m:nn nicht angegeben, versucht TFKISS 800 Framebuffer einzurichten.
Dafür werden etwa 49 kB Hauptspeicher benötigt. Speziell beim Hochladen von
TFKISS ins Upper Memory (UMB auf 386/486 Maschinen) mittels DOS-Befehl
LOADHIGH oder LH kann es aber nützlich sein, den Speicherbedarf weiter zu
reduzieren.
Minimaler Platzbedarf ist (abhängig vom L-Parameter) 32..36 kB, dann stehen
allerdings nur mehr etwa 300 Framebuffer zur Verfügung.
Der andere Extremfall ist bei -M:64 die maximale Speicherzuweisung an
TFKISS. Nun können über 1200 Framebuffer eingerichtet werden.
Zulässige Werte für nn sind also 32 bis 64.
Hinweis:
Wenn mehr als 1023 Framebuffer vorhanden sind, muß man damit rechnen, daß
im Hostmode Programm SP Version 6.10 (frühere und neuere Versionen nicht
getestet) beim Filetransfer erhebliche Fehlfunktionen auftreten.
GP zeigt dieses Fehlverhalten nicht.
Der P-Parameter
---------------
bestimmt welches CRC-Protokoll auf der KISS-Seite gefahren werden soll.
In der nunmehr vorliegende Version sind beide gängigen CRC-Protokolle
(SMACK und RMNC) implementiert. Durch einige programmtechnische Tricks
konnte dies ohne nennenswerten zusätzlichen Speicherverbrauch im
residenten Mode erreicht werden.
-P:0 = normal KISS ohne CRC
-P:1 = SMACK KISS-CRC
-P:2 = RMNC KISS-CRC
Wenn -P nicht angegeben ist, wird der Standardwert 0 verwendet.
Der R-Parameter
---------------
definiert den Hardware Interrupt Level der seriellen Schnittstelle. Wenn
Ihr gewählter COM-Port (C-Parameter) einen anderen IRQ verwendet als im
Programm vordefiniert, kann hier die entsprechende Einstellung angegeben
werden.
Es können auch serielle I/O Karten betrieben werden, welche die "hohen"
Interrupts, das sind die IRQ Levels 9 .. 15 unterstützen.
Standardwerte für COM-Port/IRQ sind:
COM1 benützt IRQ4
COM2 - " - IRQ3
COM3 - " - IRQ5
COM4 - " - IRQ12.
Beachten Sie bitte, daß auf Grund der Hardware des PC der gleichzeitige
Betrieb mehrerer Schnittstellen über den selben IRQ nicht möglich ist!
Der U-Parameter
---------------
entfernt TFKISS vollständig aus dem Speicher und setzt alle durch das
Programm veränderten Systemvektoren auf ihren Originalzustand zurück.
Der dafür zuständige Codeteil wurde besonders gründlich getestet, bis
jetzt konnten keine Fehlfunktionen oder Wechselwirkungen im Zusammenhang
mit Laden und Entladen festgestellt werden.
Beispiele:
----------
TFKISS soll auf der Standardschnittstelle COM2 betrieben werden. Die
Übertragung KISS-TNC <-> Rechner soll mit 38400 Baud laufen.
Der Aufruf lautet:
TFKISS -C:2 -B:38400
Die Reihenfolge der Parameter ist beliebig. Man muß jedoch bedenken,
daß die Kommandozeile von links nach rechts abgearbeitet wird. Im
Zweifelsfall "gewinnt" der weiter rechts stehende Wert.
So ein Aufruf sollte vermieden werden; er führt zwar zu keiner
Fehlermeldung, aber wie steht die Baudrate nun wirklich ?
TFKISS -B:4800 -C:2 -B:2400
Der B-Parameter kommt doppelt vor. Der rechteste Wert gewinnt,
also 2400 Bd.
Für einen Sonderfall soll TFKISS mit 42 kB Ram auskommen, zusätzlich
sei mit einem Hostmode Terminalprogramm auf dem Software Interrupt
F9 Hex zu kommunizieren.
TFKISS -M:42 -I:F9
Ein SMACK-TNC soll mit dem Computer auf COM3 kommunizieren.
Dieser Port sei auf IRQ 7 eingestellt.
TFKISS -C:3 -R:7 -P:1
So oder ähnlich sollte die Bildschirmausgabe nach erfolgtem Start
aussehen:
╔═══════════════════════════════════════════════════════════╗
║ TFKISS v3.00 (c) 1993-95 OE1HHC/OE3GMW Rev: Oct 21 1995 ║
║ Ch:10 Int:FE COM:1 I/O:03F8 IRQ:4 Baud:9600 UART:16550 ║
║ ───────────────────────────────────────────────────────── ║
║ Based on TF 2.7b (NORD><LINK). Free for noncommercial use ║
╚═══════════════════════════════════════════════════════════╝
successfully installed - frame buffers: 800
Die Firmware-Befehle von TFKISS
===============================
Die Eingabe eines TF-Befehls wird mit <ESC> eingeleitet und mit <RETURN>
abgeschlossen. Erfolgt die Eingabe ohne optionalen Parameter wird der
zugehörige aktuelle Wert angezeigt.
Folgende Kommandos sind verfügbar:
B C D F G I JHOST K L M N O P R S T U V W Y
@B @D @I @K @T2 @T3 @U @V
Im Wesentlichen entspricht der Befehlssatz dem der TNC-Firmware; alle
Befehle sind im Folgenden kurz beschrieben. Auf eventuelle Unterschiede
wird hingewiesen.
Diese Befehlsliste wurde der TF-Beschreibung entnommen.
ESC B
-----
Zeigt die Anzahl der Hauptschleifendurchläufe pro Sekunde.
Dieser Parameter wurde aus Kompatibilitätsgründen zur TF 2.7 übernommen, hat
jedoch für den Benutzer von TFKISS nicht viel Aussagekraft, da die interne
Verarbeitung anders abläuft als im "realen" TNC.
Die Eingabe des ehemaligen DAMA-Timeout ist entfallen.
ESC C [Call]
------------
Der 'C'-Befehl wird für den Aufbau einer Verbindung (Connect) benötigt.
Man beachte, daß kein 'v' oder 'via' zwischen der Empfängeradresse und den
Digipeater-Rufzeichen erforderlich ist.
Ein Connect-Befehl der auf Kanal 0 ausgeführt wird setzt den Weg für
UI-Pakete.
ESC D
-----
Eine bestehende Verbindung wird getrennt.
Sind bei der Eingabe des 'D'-Befehls noch nicht alle Informationen
ausgesendet bzw. bestätigt, dann wird der Disconnect erst nach Eingang der
Bestätigung für das letzte Informationspaket ausgeführt.
Durch Wiederholung des 'D'-Befehls kann dieser Vorgang abgebrochen werden.
Wird der 'D'-Befehl während des Aufbaus einer Verbindung (Link Setup) oder
des Beendens (Disconnect) einer Verbindung eingegeben, dann kehrt der TNC
sofort in den Disconnect-Zustand zurück und sendet automatisch ein DISC um
unnötige Aussendungen zu verhindern, falls der eigene TNC die Antworten der
Gegenstation nicht gehört hat.
Wird der 'D'-Befehl im Disconnected-Zustand eingegeben, dann werden alle
Parameter des gerade angewählten Kanals mit den Parametern vom Kanal 0
initialisiert.
ESC F [<n>] Default: 500
-----------------------------
FRACK ist die Wartezeit zwischen der Aussendung eines Paketes und dessen
Bestätigung durch die Gegenstation.
Die Zeit kann direkt in Sekunden eingegeben werden. Bei Eingaben <16 wird
dazu der Wert mit 100 multipliziert. Bei Eingaben >15 erfolgt die Eingabe
direkt in 10 Millisekunden Schritten (L2-Roundtriptime).
FRACK ist bei der TheFirmware als dynamischer RoundTrip-Timer realisiert,
der sich der aktuellen Aktivität auf dem Kanal anpasst.
ESC G [0|1]
-----------
Abfrage der virtuellen TNC-Kanäle im Host-Mode. Im Terminal-Modus wird
dieser Befehl nicht erkannt und eine Fehlermeldung ausgegeben.
Nähere Details sind der Hostmode Beschreibung zu entnehmen.
ESC I [Call]
------------
Eingabe des eigenen Rufzeichens (MYCALL).
Nach der ersten Inbetriebnahme ist es mit Leerzeichen gefüllt. Für jeden
Kanal kann ein Rufzeichen eingegeben werden. Nach einem DISCONNECT wird das
Rufzeichen von Kanal 0 übernommen.
ACHTUNG: TFKISS schaltet den angeschlossenen KISS-TNC nur mit eingegebenem
MYCALL auf Sendung!
ESC JHOST [0|1]
---------------
Umschaltung zwischen Terminal Mode und Host Mode.
Der Host-Modus ist WA8DED-kompatibel und wird von den wichtigsten
Terminalprogrammen unterstützt.
ESC K [<n>] Default: 0
---------------------------
Aktivierung der STAMP-Funktion.
Beispiele:
K │ Stamp und Datum/Zeit anzeigen
─────┼────────────────────────────────────────────────
K 0 │ Stamp abschalten
─────┼────────────────────────────────────────────────
K 1 │ Stamp Statusmeldungen einschalten
─────┼────────────────────────────────────────────────
K 2 │ Stamp Status- und Monitormeldungen einschalten
Hinweis: Im Gegensatz zur Firmware ist die Eingabe von Datum und Zeit
bei TFKISS nicht möglich, da für die STAMP-Funktion die Systemzeit
herangezogen wird. Um jedoch Kompatibilität zu Terminalprogrammen zu
wahren welche die TNC-Zeit automatisch setzen, wird hier keine
Fehlermeldung ausgegeben.
ESC L [0..10]
-------------
Mit dem 'L'-Befehl wird der Link-Status eines oder aller Kanäle (ohne
Parameter) angezeigt. Es werden Informationen über den Verbindungsweg
(Rufzeichen und Digipeaterliste), Anzahl empfangener Frames, Anzahl noch
nicht gesendeter Frames, Anzahl noch nicht bestätigter Frames und der
zugehörige Retry-Zähler angezeigt. Der jeweils benutzte Kanal wird durch
ein '+' Zeichen markiert.
ESC M [IUSCN+-] Default: N
-----------------------------
Aktivierung und Parametrierung des Monitor-Modus. Mit den Parametern wird
vorgegeben, welche Frames angezeigt werden sollen.
Beispiele:
N │ keine
───┼───────────────────────────────────────────────
I │ Informationspakete
───┼───────────────────────────────────────────────
U │ unprotokollierte Sendungen
───┼───────────────────────────────────────────────
S │ Kontrollpakete
───┼───────────────────────────────────────────────
C │ Monitor auch an wenn eine Verbindung besteht
───┼───────────────────────────────────────────────
+ │ <Liste von bis zu 8 Rufzeichen>: nur Pakete
│ dieser Stationen
───┼───────────────────────────────────────────────
- │ <Liste von bis zu 8 Rufzeichen>: keine Pakete
│ dieser Stationen
Die kombinierte Benutzung der '+' und '-' Parameter wird nicht unterstützt.
Sie müssen als letzter Parameter vor dem (den) Rufzeichen eingegeben
werden.
Die Eingabe von '+' oder '-' ohne Rufzeichen löscht die aktuelle Liste. Es
erfolgt keine Auswertung der SSID!
ESC N [0..127] Default: 10
------------------------------
Parametrierung des Retry-Zählers.
Es wird angegeben, wie oft die Zustellung eines Paketes versucht werden
soll (0 = unendlich). Für jeden Kanal kann ein eigener Wert angegeben
werden. Nach einem Disconnect wird jedoch der Wert aus Kanal 0 übernommen.
Im unbeaufsichtigten Betrieb den Parameter NIEMALS auf 0 einstellen!
ESC O [1..7] Default: 2
----------------------------
Maximale Anzahl von ausstehenden und unbeantworteten I-Frames (MAXFRAME).
Für jeden Kanal kann ein separater Wert vorgegeben werden. Nach jedem
Disconnet wird aber wieder der Parameter von Kanal 0 übernommen.
ESC P [0..255] Default: 32
------------------------------
P-Persistence Einstellung.
Ohne Parameter erfolgt die Anzeige der aktuellen Einstellung. Bei DAMA wird
dieser Wert ignoriert!
ESC R [0|1] Default: 1
---------------------------
Ein- und Ausschalten der Digipeat-Funktion (1 = Ja, 0 = Nein).
ESC S [0..40] Default: 0
----------------------------
Umschaltung zwischen den Kanälen (0 = Monitorkanal).
ESC T [0..127] Default: 25
------------------------------
Verzögerung zwischen Hochtasten des Senders und Start der Datenaussendung
(TXDELAY).
Die Einstellung erfolgt in 10 ms Schritten. Bitte experimentell einen
möglichst geringen Wert ermitteln und einstellen.
ESC U [0|1|2] Default: 0
----------------------------
Mit dem 'U'-Befehl hat man die Möglichkeit, eine Meldung an anrufende
Stationen zu senden (CTEXT).
Der Text bleibt auch dann erhalten, wenn dieser Modus wieder abgeschaltet
wird.
Mit 'U2' kann der TNC (nur im Terminal-Mode!) dazu veranlaßt werden durch
den Empfang des Strings "//Q" einen Disconnect der laufenden Verbindung
einzuleiten. Der String "//Q" muß dazu am Anfang eines einzelnen Paketes
stehen. Im HOSTMODE ist diese Funktion gesperrt.
Beispiele:
U 1 Text │ CTEXT eingeben
────────────┼──────────────────────────────
U 1 │ CTEXT wird ausgesendet
────────────┼──────────────────────────────
U 2 (Text) │ CTEXT und //Quit-Funktion
────────────┼──────────────────────────────
U 0 │ CTEXT wird nicht ausgesendet
────────────┼──────────────────────────────
U │ CTEXT anzeigen
ESC V
-----
Ausgabe eines Strings, der Informationen über die aktuelle Softwareversion
gibt.
ESC W [0..127] Default: 10
-------------------------------
Parametrierung der Slot-Time (Zeitschlitz) in Millisekunden.
Ohne Parameter erfolgt die Anzeige der aktuellen Einstellung.
Bei DAMA wird dieser Wert ignoriert. Der TNC geht immer sofort auf Sendung.
ESC Y [0..<n>] Default: 10
------------------------------
Eingabe der maximal zulässigen Kanäle, bis eine anrufende Station "busy"
bekommt. Der Maximalwert <n> entspricht dem auf der Kommandozeile
übergebenen L-Parameter.
Die Ausgabe erfolgt in der Form "maximale Anzahl Kanäle (belegte Kanäle)".
Dies funktioniert nur, wenn überall die gleiche SSID wie im Monitor-Kanal
verwendet wird).
Beispiel: "4 (0)"
ESC @B
------
Anzeige der freien TNC-Buffer.
ESC @D [0|1] Default: 0
----------------------------
Ein- und Ausschalten des Vollduplexbetriebes.
ESC @I [<n>] Default: 60
------------------------------
Wert für max. IPOLL-Framelänge eingeben, bzw. anzeigen.
Gilt nicht bei DAMA!
ESC @K
------
Der Befehl @K hat in TFKISS gegenüber TheFirmware eine geänderte Bedeutung
und weitere Subfunktionen erhalten!
Alle nach @K bis zum Zeilenende folgenden Zeichen werden mit abschließendem
CR direkt an den TNC übertragen.
Der @K-Zeichenwandler
Bisher war es nicht möglich, Kontrollzeichen (z.B. das Esc-Zeichen) mit
Hilfe des @K Befehl an das TNC zu senden. Daher wurde eine einfache
Zeichenwandlerroutine eingebaut. Kann also ein Zeichen nicht unmittelbar
über die Tastatur eingegeben werden, was praktisch bei allen
Kontrollzeichen der Fall ist, muß ein Backslash \ unmittelbar gefolgt vom
dezimalen ASCII Code des zu sendenden Zeichens eingegeben werden.
Soll zum Beispiel das ESCAPE Zeichen (ASCII dezimal 27) über die serielle
Schnittstelle an den TNC gesendet werden, ist einfach @K \27 einzugeben.
Natürlich können (bzw. müssen) daran unmittelbar anschließend weitere
Zeichen oder wieder ein Backslash zur nächsten Zeichenwandlung, je nach
Bedarf, bis zum Zeilenende eingegeben werden.
An ein KAM (Version 4.0) sei die Zeichenkette
"INT KISS [Return] RESET [Return]" zu schicken. Das ist ganz einfach:
@K INT KISS\13RESET
Ein weiteres Beispiel: ein TNC2 soll in den KISS-Mode versetzt werden,
dies funktioniert mit "[ESC]@K":
@K \27@K
KISS-OFF @K 0
Um einem laufenden Hostmode Programm das ordnungsgemäße Zurückschalten
eines TNC aus dem KISS- in den Terminalmodus zu ermöglichen, wurde das
Kommando @K 0 eingeführt. Das heißt, es wird ein KISSOFF- Frame (C0h FFh
C0h) an den TNC gesendet.
@K 1
Um Sonderfälle abzudecken wurde ein zusätzlicher Hilfsbefehl @K 1
eingebaut. Dieser hat die völlig gleiche Bedeutung wie @K. Es werden alle
auf @K 1 folgenden Zeichen (inklusive Zeichenwandlung, falls erforderlich)
direkt an den TNC gesendet. Der Unterschied: @K fügt an das Ende einer
Zeile automatisch ein CR (Return) Zeichen an. @K 1 erzeugt dieses
Zeilenendezeichen NICHT.
ESC @T2 [<n>] Default: 150
------------------------------
Zeitspanne bis zur Bestätigung eines empfangenen Paketes.
ESC @T3 [<n>] Default: 18000
--------------------------------
Zeitspanne die der TNC bei einer bestehenden Verbindung auf ein
"Lebenszeichen" der Gegenstelle wartet.
Nachdem T3 abgelaufen ist, wird beim Partner angefragt, ob er noch
empfangsbereit ist.
ESC @U [0|1] Default: 0
----------------------------
UIPOLL aktivieren. (0 = UI, 1 = UI+).
ESC @V [0|1] Default: 0
----------------------------
Rufzeichen-Check ein- bzw. ausschalten (1 = Ja, 0 = Nein).
Nicht unterstützte TF-Kommandos
===============================
Folgende TF-Befehle werden von TFKISS nicht unterstützt:
A E QRES X Z und @F
Diese Kommandos werden beim Betrieb mit Hostmode Terminalprogrammen nicht
benötigt oder von ihnen emuliert.
Zusätzliche Befehle
===================
ESC @P
------
KISS-CRC-Protokolltyp. Funktioniert nur in den TFKISS-Versionen
TFKx86s.COM und TFKx86r.COM!
Zeigt die Art der Datenkommunikation zwischen TNC und Computer. Das Ergebnis
von @P ist "KISS" beim Betrieb im "Standard KA9Q Kissmode", "SMACK" wenn von
TFKISS ein TNC mit SMACK-Firmware (siehe auch "SMACK-Protokoll" weiter
unten) und "RMNC" wenn die Verbindung zu einer RMNC SLAKI-Karte erkannt
wurde.
CRC-KISS aus: @P 0
CRC-KISS ein: @P 1
Das Aktivieren eines CRC gesicherten Kiss-Protokolls geschieht automatisch
und in der Regel völlig problemlos. @P 0 bzw. @P 1 wurden nur deshalb
eingeführt um diese Automatik gegebenenfalls umgehen zu können und eine
bestimmte Protokollvariante per Befehl zu erzwingen.
Wenn CRC-Protokoll per Befehl aktiviert wird, obwohl die zur Verfügung
stehende Hardware dies gar nicht unterstützt, muß mit einem Zusammenbrechen
der Kommunikation zwischen TNC und TFKISS gerechnet werden.
ACHTUNG: im laufenden Betrieb (d.h. während eines QSO) sollte man NIEMALS
umschalten, da es sofort zu Übertragungsproblemen zwischen TNC und TFKISS
kommt!
ESC @N
------
(NO)CONNECT-LISTE.
Empfangene UI und SABM Frames jener Calls, die in dieser Liste eingetragen
sind, werden von TFKISS ignoriert, provozieren also keinerlei Reaktion auf
der Empfangsseite. Diese Stationen kann man jedoch weiterhin selbst
connecten.
Die Syntax dieses Befehls wurde weitgehend dem M-Befehl angepaßt:
@N │ Zeigt die Connectliste an.
──────────────────────┼───────────────────────────────────────────────
@N - call [call ...] │ Setzt die Negativliste. Maximal 8 Rufzeichen.
──────────────────────┼───────────────────────────────────────────────
@N + call [call ...] │ Setzt die Positivliste. Maximal 8 Rufzeichen.
──────────────────────┼───────────────────────────────────────────────
@N - oder @N + │ Löscht die Connectliste.
Die kombinierte Benutzung der '+' und '-' Parameter wird nicht unterstützt.
Konfiguration des Hostmode-Programmes
=====================================
SP:
---
In CONFIG.SP muß für den Betrieb mit dem KISS-Treiber folgendes ange-
geben werden:
CFG=PORTx:5
oder
CFG=PORTx:5h wenn TFKISS hochgeladen wird (LH TFKISS); sehr empfehlenswert
wenn mindestens 35 kB UMB Speicher zur Verfügung steht.
Diese Angaben beziehen sich auf SP Version 6.10, eine neuere steht mir
nicht zur Verfügung.
GP:
---
GP erkennt TFKISS selbständig, hier sind keine zusätzlichen Angaben nötig.
Die Umschaltung des TNC in den KISS-Mode beim Start und das Zurückschalten
in den originären Modus beim Beenden des Terminalprogrammes kann auch
automatisiert werden.
Hier ein Beispiel für GP; folgende Zeilen müssen in die CONFIG.GP für ein
KAM eingefügt werden:
; TNC-Initialisierung
TNCINI = @K INT KISS
TNCINI = @K RESET
...
; TNC-Deinitialisierung
TNCDEI = @K 0
...
Für einen TNC2 funktioniert es folgendermaßen:
; TNC-Initialisierung
TNCINI = @K \27@K
...
; TNC-Deinitialisierung
TNCDEI = @K 0
...
Weiters ist es empfehlenswert, eine Batch-Datei zum Start von TFKISS
und des Terminalprogrammes zu erstellen. Ein Beispiel - TFKISS.COM
befinde sich im Directory D:\AFU\TFKISS und GP im Verzeichnis D:\AFU\GP:
@echo off
d:
cd \afu\tfkiss
tfkiss -c:2 -l:4
cd \afu\gp
gp286
d:
cd \afu\tfkiss
tfkiss -u
Zuerst wird also TFKISS geladen, der COM-Port 2 und maximal 4 Kanäle
gesetzt, dann GP und nach dem Beenden des Programmes wird auch TFKISS
wieder aus dem Speicher entfernt.
Bitte verstehen Sie die oben angeführten Beispiele nicht als Rezepte!
Sie müssen zur Erstellung der Konfigurationsdateien die eigenen
Verhältnisse heranziehen. Also bitte Pfadangaben und Befehlssatz Ihres
Controllers überprüfen!
ANHANG
======
Der Host Mode
=============
(Entnommen der FIRMWARE Hostmode-Beschreibung).
Neben dem KISS- und dem Terminalmodus stellt die Firmware für eine
einfachere Kommunikation zwischen TNC und Rechner noch den Hostmodus zur
Verfügung. Durch eindeutige Kennzeichnung der Daten z u m TNC und v o m
TNC wird eine einfache und fehlerfreie Kommunikation zwischen dem
Hostrechner und dem TNC ermöglicht. Handshaking per Hard- oder Software ist
nicht erforderlich da der TNC ungefragt keine Daten an den Rechner sendet
und die Datenlänge auf 256 Zeichen begrenzt ist.
Wenn der Hostmode eingeschaltet ist muß das erste an den TNC gesendete Byte
die Kanalnummer sein. Das zweite Byte dient der Unterscheidung Information -
Befehl. Wenn Informationen gesendet werden muß das zweite Byte eine binäre 0
sein. Wird ein Befehl gesendet dann muß das zweite Byte eine binäre 1 sein.
Das dritte Byte gibt die binäre Länge der folgenden Information oder des
folgenden Befehls, vermindert um 1, an. Danach folgen die Informations- bzw.
Befehlsbytes. Informationen, die an Kanal 0 adressiert sind, werden
unprotokolliert ausgesendet. Informationen an Kanäle ohne Connect werden
ignoriert.
Der TNC antwortet auf Informationen und Befehle als erstes mit der Kanal-
Nummer (binär) gefolgt von einem binären Code 0, 1, oder 2 als Erfolgs-
oder Fehlermeldung. Den Codes 1 und 2 folgt eine nullterminierte Meldung.
Alle Kanäle können mit dem 'G'-Befehl abgefragt werden, ob Informationen
oder Statusmeldungen vorliegen. Monitor-Header, Monitor-Header mit folgender
Information sowie die Link-Statusmeldung 'CONNECT REQUEST' werden immer an
Kanal 0 gesendet. Alle anderen Linkstatusmeldungen werden wie normale
Informationen immer auf dem entsprechenden Kanal ausgegeben.
Die erste Antwort des TNC's auf den 'G'-Befehl ist wieder die Kanal-Nummer
gefolgt von einem binären Code von 3 - 7 zur Kennzeichnung der nachfolgenden
Daten. Code 4 ist Monitorpaketen ohne Info zugeordnet. Code 5 kennzeichnet,
daß es sich um ein Monitor-Paket mit Info handelt. Beim nächsten 'G'-Befehl
an Kanal 0 wird diese Info (gekennzeichnet durch Code 6) dann ausgegeben.
Code 7 kennzeichnet die Informationspakete.
Mögliche Codes zwischen Hostrechner und TNC
-------------------------------------------
1. Hostrechner zum TNC
KANAL│CODE│BESCHREIBUNG
──────┼────┼─────────────────────────────────────
n │ 0 │Information (Länge-1 vorweg)
──────┼────┼─────────────────────────────────────
n │ 1 │Befehl (Länge-1 vorweg)
2. TNC zum Hostrechner
KANAL│CODE│BESCHREIBUNG
──────┼────┼─────────────────────────────────────
n │ 0 │Erfolg (ohne weitere Meldung)
──────┼────┼─────────────────────────────────────
n │ 1 │Erfolg (Meldung folgt,
│ │null-terminiert)
──────┼────┼─────────────────────────────────────
n │ 2 │Fehler (Meldung folgt,
│ │null-terminiert)
──────┼────┼─────────────────────────────────────
n │ 3 │Link Status (null-terminiert)
──────┼────┼─────────────────────────────────────
n │ 4 │Monitor Header (null-terminiert)
──────┼────┼─────────────────────────────────────
n │ 5 │Monitor Header (null terminiert)
──────┼────┼─────────────────────────────────────
n │ 6 │Monitor Information (Länge-1 vorweg)
──────┼────┼─────────────────────────────────────
n │ 7 │Connect Information (Länge-1 vorweg)
Meldungen des TNC
-----------------
1. Erfolgs-Meldungen
{Kanal Status} │ -
────────────────────────────┼─────────────────────────────────────────────
{Parameter Wert} │ -
────────────────────────────┼─────────────────────────────────────────────
CHANNEL NOT CONNECTED │ Auf diesem Kanal besteht keine Verbindung
2. Fehler-Meldungen
INVALID CALLSIGN │ Unzulässiges Rufzeichen
────────────────────────────┼─────────────────────────────────────────────
MESSAGE TOO LONG │ Die Länge des Connect-Textes beträgt mehr
│ als 72 Zeichen
────────────────────────────┼─────────────────────────────────────────────
INVALID PARAMETER │ Unzulässiger Parameter
────────────────────────────┼─────────────────────────────────────────────
NO SOURCE CALLSIGN │ Kein Rufzeichen (I-Befehl) eingegeben
────────────────────────────┼─────────────────────────────────────────────
INVALID COMMAND: ? │ Unzulässiger Befehl
────────────────────────────┼─────────────────────────────────────────────
NOT WHILE CONNECTED │ Nicht bei bestehender Verbindung
────────────────────────────┼─────────────────────────────────────────────
INVALID VALUE: ????? │ Unzulässiger Wert
────────────────────────────┼─────────────────────────────────────────────
NO MESSAGE AVAILABLE │ Kein Connecttext eingegeben
────────────────────────────┼─────────────────────────────────────────────
INVALID CHANNEL NUMBER │ Unzulässige Kanalnummer
────────────────────────────┼─────────────────────────────────────────────
TNC BUSY - LINE IGNORED │ Kein TNC-Buffer frei, Eingabe ignoriert
────────────────────────────┼─────────────────────────────────────────────
CHANNEL ALREADY CONNECTED │ Auf diesem Kanal besteht schon eine
│ Verbindung
────────────────────────────┼─────────────────────────────────────────────
STATION ALREADY CONNECTED │ Mit dieser Station besteht schon eine
│ Verbindung
────────────────────────────┼─────────────────────────────────────────────
INVALID EXTENDED COMMAND: ?│ Unzulässiger erweiterter Befehl (<ESC> @)
3. Link Status Meldungen
BUSY fm Call {via Digi} │ Alle freigegebenen Kanäle der Gegen-
│ station sind belegt bzw. die Gegenstation
│ wünscht keinen Connect
───────────────────────────────┼──────────────────────────────────────────
CONNECTED to Call {via Digi} │ Die Verbindung wurde hergestellt
───────────────────────────────┼──────────────────────────────────────────
LINK RESET fm Call {via Digi} │ Treffen von der Gegenstation keine
LINK RESET to Call {via Digi} │ Quittungspakete mehr ein, so wird bei
│ AX25V2 nach Ablauf des Retryzählers
│ versucht, die Verbindung neu aufzubauen
───────────────────────────────┼──────────────────────────────────────────
DISCONNECTED fm Call {via │ Die Verbindung zur Gegenstation wurde
Digi} │ aufgelöst
───────────────────────────────┼──────────────────────────────────────────
LINK FAILURE with Call {via │ Die Verbindung zur Gegenstation konnte
Digi} │ nicht hergestellt werden
───────────────────────────────┼──────────────────────────────────────────
CONNECT REQUEST fm Call {via │ Verbindungsanforderung einer anderen
Digi} │ Station wenn Y0 eingestellt ist oder alle
│ verfügbaren Kanäle belegt sind
───────────────────────────────┼──────────────────────────────────────────
FRAME REJECT fm Call {via │ [x y z = FRMR Informationsbytes] Ein
Digi} (x y z) FRAME REJECT to │ Protokollfehler ist aufgetreten
Call {via Digi} (x y z) │
Monitor Header Format
---------------------
Das Format der Monitorkopfzeilen ist genauso aufgebaut wie im
Terminalmodus:
fm {Rufz.} to {Rufz.} via {Digipeater} ctl {Name} pid {Hex}
Kanal Status Format
-------------------
Das Format des Kanalstatus weicht von dem des Terminalmodus ab. Nach Eingabe
des 'L'-Befehls im Hostmodus gibt der TNC eine Reihe von sechs Ziffern mit
folgender Bedeutung aus:
a b c d e f (für Kanal 0 sind nur a und b möglich)
a │ Anzahl noch nicht dargestellter Link-Statusmeldungen
───┼──────────────────────────────────────────────────────
b │ Anzahl empfangener, noch nicht dargestellter Pakete
───┼──────────────────────────────────────────────────────
c │ Anzahl noch nicht ausgesendeter Pakete
───┼──────────────────────────────────────────────────────
d │ Anzahl der gesendeten, noch unbestätigten Pakete
───┼──────────────────────────────────────────────────────
e │ Anzahl der Versuche für die laufende Operation
───┼──────────────────────────────────────────────────────
f │ Linkstatus
Mögliche Linkstatusmeldungen
----------------------------
0 │ Disconnected. Der Kanal ist nicht belegt
───┼───────────────────────────────────────────────────────────
1 │ Link Setup. Auf dem Kanal läuft ein Verbindungsaufbau
───┼───────────────────────────────────────────────────────────
2 │ Frame Reject. Ein Protokollfehler ist aufgetreten
───┼───────────────────────────────────────────────────────────
3 │ Disconnect Request. Ein Verbindungsabbruch ist
│ eingeleitet
───┼───────────────────────────────────────────────────────────
4 │ Information Transfer. Es besteht eine Verbindung zu einer
│ Gegenstation
───┼───────────────────────────────────────────────────────────
5 │ Reject Frame Sent. Ein Paket mit fehlerhafter Prüfsumme
│ wird nochmal angefordert
───┼───────────────────────────────────────────────────────────
6 │ Waiting Acknowledgement. Der TNC wartet auf die
│ Bestätigung eines ausgesendeten Informationspaketes
───┼───────────────────────────────────────────────────────────
7 │ Device Busy. Kein TNC-Buffer frei
───┼───────────────────────────────────────────────────────────
8 │ Remote Device Busy. Der TNC-Speicher der Gegenstation
│ oder eines Digipeaters auf dem Weg zur Gegenstation ist
│ voll
───┼───────────────────────────────────────────────────────────
9 │ Both Devices Busy. Siehe 7 und 8
───┼───────────────────────────────────────────────────────────
10│ Waiting Acknowledgement and Device Busy. Siehe 6 und 7
───┼───────────────────────────────────────────────────────────
11│ Waiting Acknowledgement and Remote Busy. Siehe 6 und 8
───┼───────────────────────────────────────────────────────────
12│ Waiting Acknowledgement and Both Devices Busy. Siehe 6, 7
│ und 8
───┼───────────────────────────────────────────────────────────
13│ Reject Frame Sent and Device Busy. Siehe 5 und 7
───┼───────────────────────────────────────────────────────────
14│ Reject Frame Sent and Remote Busy. Siehe 5 und 8
───┼───────────────────────────────────────────────────────────
15│ Reject Frame Sent and Both Devices Busy. Siehe 5, 7 und 8
Der Extended Hostmode (XHOST)
=============================
(nach DG3DBI, überarbeitet von DB2OS)
Die folgende Kurzbeschreibung des Extended Hostmode stammt aus einer
Einspielung von Walter, DG9EP @ DB0IZ.#NRW.DEU.EU.
Der extended Hostmode ist eine formal nur geringfügige Erweiterung des
allseits bekannten Hostmode. Der Vorteil liegt in der Vermeidung unnötiger
Abfragen (Polls) des TNC, was zu einer Geschwindigkeitssteigerung vor allem
beim Empfang führt. Im nachfolgenden nun die sehr knappe Beschreibung des
extended Hostmodes. Er setzt die Kenntnis des normalen Hostmodes voraus.
Der Rechner sendet ein 'G'-Kommando an den Kanal 255 des TNC. Handelt es
sich um einen TNC ohne Erweiterung, so antwortet dieser dann mit der
Fehlermeldung "INVALID CHANNEL NUMBER". Bei dem erweiterten Hostmode wird
stattdessen ein Null-terminierter String zurückgeliefert, der eine Liste
von Kanälen enthält, bei denen noch Infos in den Buffern abholbereit sind.
Dies gilt auch für den Monitor-Kanal und Statusdaten. Die Kanalnummern im
String sind wegen der Null-Terminierung um 1 erhöht.
Beispiele für die Antwort des TNC:
0xFF 0x01 0x00 Keine Daten verfügbar.
0xFF 0x01 0x01 0x00 Es sind Daten im Monitor-Buffer.
0xFF 0x01 0x01 0x03 0x04 0x00 Es sind Daten im Monitor und in den
Kanälen 2 und 3.
Der KISS-Mode
=============
Der KISS-Mode wurde in den frühen achziger Jahren definiert, um auf einfache
Weise das Netzwerkprotokoll TCP/IP dem Amateur Packet Radio zu ermöglichen.
Da TCP/IP selbst die Gültigkeit (d.h. die Fehlerfreiheit) der eintreffenden
Datenpakete überwacht, waren Maßnahmen zur Sicherstellung einer garantiert
fehlerfreien Übertragung zwischen TNC und Computer nicht erforderlich.
Heute wird KISS-Mode oft dazu verwendet, "normalen" AX-25 Datenverkehr
abzuwickeln; wie etwa bei der Anbindung eines Mailboxrechners an einen
RMNC-Knoten.
Dem standard KISS-Protokoll entspechend, würden jedoch Übertragunsfehler
zwischen dem TNC und dem Computer, eine Verstümmelung der zu übertragenden
Nachricht verursachen. Um dieses Dilemma zu beseitigen, gab es Bestrebungen,
das Protokoll um eine zusätzliche Prüfsumme, einen 16 Bit-CRC zu erweitern.
Es wurden zwei, leider nicht kompatible Verfahren definiert, das RMNC- und
das SMACK-Protokoll. Sie sind in ihrer Funktionsweise prinzipiell sehr
ähnlich, unterscheiden sich aber in der Berechnungsart der Prüfsumme und
einem Packet-ID Byte.
Das Erkennen eines SMACK- (RMNC-) fähigen TNC, sowie die Aktivierung der
prüfsummengesicherten Übertragung geschieht durch TFKISS automatisch. Der
Anwender hat aber mittels des erweiterten Befehls @P die Möglichkeit das
Funktionieren dieser Automatik nachzuprüfen.
Das SMACK-Protokoll
===================
Die Bezeichnung SMACK steht für "Stuttgarts Modifiziertes Amateurfunk-
CRC-KISS". Es ist der Versuch einer möglichst kompatiblen Erweiterung
des KISS-Protokolls um eine Prüfsumme; ein Verfahren zur Datensicherung
zwischen TNC und Rechner. Die in TFKISS realisierte Implementierung
basiert auf der Protokollbeschreibung SMACK Version 1.0, Stand 27.02.92
von Jan Schiefer, DL5UE und Dieter Deyke, DK5SG/N0PRA.
Das RMNC-Protokoll
==================
RMNC steht für Rhein-Main-Net-Controller. Diese Knotenrechener Hard- und
Software ermöglicht u.a. den Anschluß von Mailboxrechnern oder anderen
Datenendgeräten über eine serielle Schnittstelle. Als Datenformat kommt
dabei das KISS-Protokoll zum Einsatz. Zur Vermeidung von Übertragunsfehlern,
besonders bei höheren Baudraten, stellen RMNC-Knoten ein modifiziertes
KISS-Protokoll zur Verfügung, welches auch in TFKISS implementiert wurde.
Das ist aber nur für Mailbox Anwendungen oder Sysops sinnvoll nutzbar,
welche eine direkte Drahtverbindung zu einem RMNC-Knoten haben.
Der Framesammler
================
Um den Datendurchsatz auf den Links zu erhöhen, gab es bereits vor
längerer Zeit Vorschläge zu einer kompatiblen Protokollmodifikation,
den sogenannten "Framesammler". Dieser wurde nun auch in TFKISS ein-
gebaut.
Laut AX-25 Protokoll verwirft der Empfänger Frames, die zwar korrekt
demoduliert wurden, deren Sendefolgenummer jedoch nicht stimmt.
Ein Beispiel:
Der Sender schickt Pakete mit den Folgenummern 1, 2, 3, 4, 5;
der Empfänger bekommt aber nur 1, 2, und 4, 5 fehlerfrei;
er ignoriert daher die Frames 4 und 5 und sendet REJ 3;
der Sender schickt nun 3, 4, 5, 6, 7, also auch jene Frames (4 + 5),
die ja bereits korrekt übertragen wurden.
Hier setzt der Framesammler an. Das Beispiel würde nun folgendermaßen
ablaufen:
wie oben angenommen hatte der Empfänger 1, 2, 4, 5 demoduliert.
Da die Reihenfolge offensichtlich gestört ist, speichert er Nummer
4 und 5 und sendet REJ 3;
der Sender schickt nur Frame Nummer 3;
empfangsseitig werden nun 3, 4 und 5 angezeigt und RR 6 gesendet;
der Sender setzt fort mit 6, 7, 0, 1, 2.
Die Frames 4 und 5 müssen also nicht wiederholt werden.
Das Software-Interface
======================
TFKISS kommuniziert mit Terminalprogrammen über einen Softwareinterrupt.
Folgende Unterfunktionen sind implementiert:
Funktion: STATUS abfragen
Nachsehen ob ein Zeichen zum Abholen bereit ist.
Register AH: 1
Rückgabe : Wenn AL = 0 nichts da,
AL = 1 Zeichen zum Abholen bereit.
Funktion: GET
Zeichen abholen. Nur aufrufen nachdem Funktion 1 Zeichen
bereit gemeldet hat!
Register AH: 2
Rückgabe : AL = Zeichen
Funktion: PUT
Zeichen an TFKISS schicken.
Register AH: 3
Register AL: Zeichen
Rückgabe : keine
Funktion: GET POINTERS
Zeiger auf den "default Parameter Block" und auf die
"Debug/Error Counter" eines bereits residenten TFKISS
ermitteln.
Register AH: 5
Rückgabe : Wenn AX = 0 Ergebnis gültig.
Anderenfalls Ergebnis ungültig.
ES:BX : Far-Zeiger auf den default Parameter Block.
ES:DX : Far-Zeiger auf Debug/Error Array.
Erweiterte Funktionen kompatibel zu TFPCX 2.0:
Funktion: Port und Kanalzahl abfragen
Register AH: FB
Rückgabe :
AL: Anzahl der Hardware-Ports (immer 1)
AH: Anzahl eingestellter Kanäle (Y-Befehl)
Funktion: Sende- und Empfangsstatus
Register AH: FC
Rückgabe :
AL: Empfangsstatus, 0..inaktiv 1..es kommen Daten
AH: Sendestatus, 0..inaktiv 1..es werden Daten gesendet
Funktion: TX-Busy Flag
Register AH: FD
Rückgabe :
AX: 0..TX-Busy (nicht genügend Framebuffer verfügbar) 1..ok
Funktion: get Driver Type
Register AH: FE
Rückgabe :
AX: Bits: 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
Treiberklasse Hauptversion Subversion (0..99 dez)
TFKISS hat die Treiberklasse E
(TFPCR (DL1MEN Original) -"- F
TFPCX Version 2.0 -"- 0).
NORD><LINK
==========
An dieser Stelle möchten wir uns bei NORD><LINK und insbesondere Peter,
DB2OS, für die Bereitschaft bedanken, uns die Quellen der aktuellen
TheFirmware-Version zur Verfügung zu stellen!
NORD><LINK ist ein Verein zur Förderung der digitalen Betriebsarten im
Amateurfunk. NORD><LINK Mitglieder haben seit der Einführung der Betriebsart
Datenpaketfunk (Packet Radio, AX.25) im Amateurfunk verschiedene Programme
für die Benutzer und Netzknotenbetreiber entwickelt:
TheFirmware: User-Software für alle TNC's, inklusive DAMA, KISS und
WA8DED Hostmode.
TheNetNode: Netzknoten-Software für alle Digis auf TNC, PC und
ATARI-ST Basis.
DieBox: Die Mailboxsoftware.
Die NORD><LINK Software ist nicht-kommerziell und wird Funkamateuren zum
Ausbau des Packet Radio Netzes im Rahmen der ALAS Lizenz kostenlos zur
Verfügung gestellt.
Copyright
=========
TFKISS unterliegt der ALAS Lizenz. Es darf zur nichtkommerziellen Nutzung
frei kopiert und weitergegeben werden.
Das Programm wurde sorgfältig getestet und alle bekannten Fehler behoben.
Die Autoren sind jedoch in keinem Falle haftbar für Störungen oder
Beschädigungen irgendwelcher Art, die sich aus der Verwendung von TFKISS
mittelbar oder unmittelbar ergeben könnten.
Noch was: TFKISS ist ein Produkt unseres Hobbys und in der Freizeit aus
Spaß an der Sache entstanden. Bitte bedenken Sie das VOR dem Absenden
bitterböser Mails an ALL @ WW falls mal etwas nicht richtig funktioniert.
Seriöse Bug Reports und Verbesserungsvorschläge sind jederzeit willkommen!
Wien im Oktober 1995
Vy 73 de Harald OE1HHC @ OE3XBS.AUT.EU
& Gottfried OE3GMW @ OE3XBS.AUT.EU